// pages/my/money/account/index.js
Page({

    /**
     * 页面的初始数据
     */
    data: {
        status: -1,//状态，-1=待提交，1=审核中，2=待签约  3=确认通过 4=审核失败
        organization_type: 1,//类型类型
        account_name: '',//开户名称
        account_number: '',//银行卡号
        account_bank: '',//开户银行
        id_card_name: '',//身份证姓名
        id_card_number: '',//身份证号码
        id_card_valid_time_begin: '',//身份证开始日期
        id_card_valid_time: '',//身份证截止日期
        id_card_copy_media_id: '',//身份证照片人像面id
        id_card_copy_img: '',//身份证照片人像面路径
        id_card_national_media_id: '',//身份证照片国徽面id
        id_card_national_img: '',//身份证照片国徽面路径
        show: false,//银行弹窗
        showTime: false,//日期弹窗
        bankList:[
            {logo: '/images/bank/zg.png',name:'中国银行'},
            {logo: '/images/bank/gs.png',name:'工商银行'},
            {logo: '/images/bank/js.png',name:'建设银行'},
            {logo: '/images/bank/ny.png',name:'农业银行'},
            {logo: '/images/bank/zs.png',name:'招商银行'},
        ],
        curImgType: 'befor',//befor是人像面，after是国徽面
        curTimeType: 'start',//start是开始时间，end是结束时间
        minDate: wx.$moment().subtract(30, 'years').valueOf(),//最小日期
        maxDate: wx.$moment().add(30, 'years').valueOf(),//最大日期
        currentDate: wx.$moment().valueOf(),//当前日期
    },

    /**
     * 生命周期函数--监听页面加载
     */
    onLoad(options) {
        this.getInfo();
    },

    /**
     * 生命周期函数--监听页面初次渲染完成
     */
    onReady() {

    },

    /**
     * 生命周期函数--监听页面显示
     */
    onShow() {

    },

    /**
     * 生命周期函数--监听页面隐藏
     */
    onHide() {

    },

    /**
     * 生命周期函数--监听页面卸载
     */
    onUnload() {

    },

    /**
     * 页面相关事件处理函数--监听用户下拉动作
     */
    onPullDownRefresh() {

    },

    /**
     * 页面上拉触底事件的处理函数
     */
    onReachBottom() {

    },

    /**
     * 用户点击右上角分享
     */
    onShareAppMessage() {

    },
    //打开银行列表
    setBankPop: function(){
        let {show} = this.data;
        this.setData({
            show: !show
        })
    },
    //选择银行
    selectedBank: function(e){
        let {bankList} = this.data;
        let index = e.currentTarget.dataset.index;
        this.setData({
            account_bank: bankList[index].name
        })
        this.setBankPop();
    },
    //上传身份证
    uploadImg: function (e) {
        let _this = this;
        let type = e.currentTarget.dataset.type;
        wx.$utils.uploadImg({count: 1},function(url) {
            if(type == 'befor'){
                _this.setData({
                    id_card_copy_img: url
                })
            }else{
                _this.setData({
                    id_card_national_img: url
                })
            }
        },function(arr){
            wx.showLoading({title: '上传中...'})
            wx.uploadFile({
                url: wx.$PUBLIC['phpSite'] + '/business/shop/upload',
                filePath: arr[0].tempFilePath,
                name: 'file',
                formData: {
                    'user': ''
                },
                header: {
                    'content-type': 'application/x-www-form-urlencoded',
                    "x-auth-key": wx.getStorageSync('token') || ''
                },
                success(res) {
                    const data = JSON.parse(res.data);
                    if (data.code == 1) {
                        if(type == 'befor'){
                            _this.setData({
                                id_card_copy_media_id: data.data.media_id
                            })
                        }else{
                            _this.setData({
                                id_card_national_media_id: data.data.media_id
                            })
                        }
                    } else {
                        wx.showToast({
                            title: '上传失败，请稍后再试',
                            icon: 'none'
                        })
                    }
                },
                fail(err) {
                    wx.showToast({
                        title: '上传失败，请稍后再试',
                        icon: 'none'
                    })
                },
                complete() {
                    wx.hideLoading();
                }
            })
        })
    },
    //打开日期弹窗
    openPop: function(e){
        let {id_card_valid_time_begin,id_card_valid_time} = this.data;
        let type = e.currentTarget.dataset.type;
        let currentDate = wx.$moment().valueOf();
        if(type == 'start'){
            currentDate = id_card_valid_time_begin?wx.$moment(id_card_valid_time_begin).valueOf():wx.$moment().valueOf();
        }else {
            currentDate = id_card_valid_time?wx.$moment(id_card_valid_time).valueOf():wx.$moment().valueOf();
        }
        this.setData({
            curTimeType: type,
            showTime: true,
            currentDate: currentDate
        })
    },
    //关闭日期弹窗
    closePop: function(){
        this.setData({
            showTime: false
        })
    },
    //设置时间
    setTime: function(e){
        let {curTimeType} = this.data;
        let v = wx.$moment(e.detail).format('YYYY-MM-DD');
        console.log(v,'123123',e.detail)
        if(curTimeType == 'start'){
            this.setData({
                id_card_valid_time_begin: v,
                showTime: false
            })
        }else{
            this.setData({
                id_card_valid_time: v,
                showTime: false
            })
        }
    },
    //获取信息
    getInfo(){  
        wx.$http({
            load: true,
            url: `/business/shop/wechat-info`,
            method: 'get',
            data: {},
        }).then((res) => {
            let data = res.data;
            if(data){
                this.setData({
                    status: data.status,//状态，-1=待提交，1=审核中，2=待签约  3=确认通过 4=审核失败
                    account_name: data.account_name,//开户名称
                    account_number: data.account_number,//银行卡号
                    account_bank: data.account_bank,//开户银行
                    id_card_name: data.id_card_name,//身份证姓名
                    id_card_number: data.id_card_number,//身份证号码
                    id_card_valid_time_begin: data.card_period_begin,//身份证开始日期
                    id_card_valid_time: data.card_period_end,//身份证截止日期
                    id_card_copy_media_id: data.id_card_copy_media_id,//身份证照片人像面id
                    id_card_copy_img: data.id_card_copy_img,//身份证照片人像面路径
                    id_card_national_media_id: data.id_card_national_media_id,//身份证照片国徽面id
                    id_card_national_img: data.id_card_national_img,//身份证照片国徽面路径
                })
            }
        })
    },
    //提交信息
    saveInfo: function(){
        let {account_name,account_number,account_bank,id_card_copy_media_id,id_card_copy_img,id_card_national_media_id,id_card_national_img,id_card_name,id_card_number,id_card_valid_time_begin,id_card_valid_time} = this.data;
        if(!account_name.trim().length){
            wx.showToast({
                title: '请输入开户名称',
                icon: 'none'
            })
            return;
        }
        if(!account_number.trim().length){
            wx.showToast({
                title: '请输入银行卡号',
                icon: 'none'
            })
            return;
        }else if(!wx.$checkReg('card',account_number)){
            wx.showToast({
                title: '银行卡号错误',
                icon: 'none'
            })
            return;
        }
        if(!account_bank.trim().length){
            wx.showToast({
                title: '请选择开户银行',
                icon: 'none'
            })
            return;
        }
        if(!id_card_copy_media_id.trim().length){
            wx.showToast({
                title: '请上传身份证人像面',
                icon: 'none'
            })
            return;
        }
        if(!id_card_national_media_id.trim().length){
            wx.showToast({
                title: '请上传身份证国徽面',
                icon: 'none'
            })
            return;
        }
        if(!id_card_name.trim().length){
            wx.showToast({
                title: '请输入身份证姓名',
                icon: 'none'
            })
            return;
        }
        if(!id_card_number.trim().length){
            wx.showToast({
                title: '请输入身份证号',
                icon: 'none'
            })
            return;
        }else if(!wx.$checkReg('idCard',id_card_number)){
            wx.showToast({
                title: '身份证号号错误',
                icon: 'none'
            })
            return;
        }
        if(!id_card_valid_time_begin.trim().length){
            wx.showToast({
                title: '请选择身份证开始日期',
                icon: 'none'
            })
            return;
        }
        if(!id_card_valid_time.trim().length){
            wx.showToast({
                title: '请选择身份证结束日期',
                icon: 'none'
            })
            return;
        }
        if(wx.$moment(id_card_valid_time).valueOf()<=wx.$moment(id_card_valid_time_begin).valueOf()){
            wx.showToast({
                title: '请选择身份证结束日期必须大于开始日期',
                icon: 'none'
            })
            return;
        }
        wx.$http({
            load: true,
            url: `/business/shop/incoming`,
            data: {
                organization_type: 1,//类型类型
                account_name: account_name,//开户名称
                account_number: account_number,//银行卡号
                account_bank: account_bank,//开户银行
                id_card_name: id_card_name,//身份证名称
                id_card_number: id_card_number,//身份证号码
                id_card_valid_time_begin: id_card_valid_time_begin,//身份证开始日期
                id_card_valid_time: id_card_valid_time,//身份证截止日期
                id_card_copy_media_id: id_card_copy_media_id,//身份证照片人像面id
                id_card_copy_img: id_card_copy_img,//身份证照片人像面路径
                id_card_national_media_id: id_card_national_media_id,//身份证照片国徽面id
                id_card_national_img: id_card_national_img,//身份证照片国徽面路径
                contact_name: id_card_name,//管理员名称
            },
        }).then((res) => {
            let data = res.data;
            if(data.business_code){
                wx.redirectTo({
                    url: `/pages/my/money/account/status?code=${data.business_code}`,
                })
            }
        })
    }
})